#include<bits/stdc++.h>
using namespace std;
#define int long long

const int MAX_M=1e4+5;
const int MAX_T=1e7+5;
int T,m;
int t[MAX_M],v[MAX_M];
int dp[MAX_T];

int readint();

signed main(){
    T=readint(),m=readint();
    for(int i=1;i<=m;i++){
        t[i]=readint();
        v[i]=readint();
    }
    for(int i=1;i<=m;i++){
        for(int j=t[i];j<=T;j++){
            dp[j] = max(dp[j],dp[j-t[i]]+v[i]);
        }
    }
    cout<<dp[T]<<endl;
}

int readint(){
    int x=0,w=1;
    char ch=0;
    while(!isdigit(ch)){
        if(ch=='-')w=-1;
        ch=getchar();
    }
    while(isdigit(ch)){
        x=x*10+(ch-'0');
        ch=getchar();
    }
    return x*w;
}